class Person:
    def __init__(self,name,age):
        self._name = name
        self._age = age

    # property装饰器，用来将一个get方法，转换为对象的属性
    # 添加为property装饰器以后，我们就可以像调用属性一样使用get方法
    # 使用property装饰的方法，
    # 不是必须和属性名是一样的，但是开发中为了便于好记我们通常将被property以及需要该属性的修改方法的这些方法名称命名为属性名
    @property
    def name(self):
        print("获取name的get方法")
        return self._name

    @name.setter
    def name(self, name):
        print("setter方法调用了")
        self._name = name

    @property
    def age(self):
        return self._age

    @age.setter
    def age(self, age):
        print("setter方法调用了")
        self._age = age

p = Person("张三",11)
p.name = "112"
p.age = 18

print(p.name,p.age)